Many software applications, such as ALTIRIS' SOFTWARE VIRTUALIZATION SOLUTION (SVS), SYMANTEC's ENDPOINT PROTECTION, and ADVANCED CONCEPT's eDRM product, need to be able to distinguish between data files (i.e., files that contain information used as input, and/or written as output, by an application or system, such as .doc files for WORD) from other file types, such as configuration files, temporary files, directory files, or the like. For example, virtualization solutions (such as ALTIRIS' SVS) typically store configuration files for virtualized applications (such as configuration files for a virtualized version of WORD) within a virtualization layer on a computing system, while storing data files created by such virtualized applications (such as .doc files created by the virtualized version of WORD) outside of this virtualization layer.
In the past, applications typically distinguished data files from other file types by applying various manually-created rule sets tailored for specific file types, applications, and file locations. In addition to requiring a significant amount of time and energy to create, such manually-created rules may produce incomplete or inaccurate results. For example, a rule that specifies that all files that are stored in a user's “My Documents” folder should be treated as data files may fail to identify many other data files stored in different locations on the user's computing device.